// pages/change/change.js
Page({
  data: {
    name: '',
    avatarUrl: '', // 头像
    sex: '', // 性别
    ins: '', // 学院
    id: '', // 学号
  },

  // 获取姓名
  getName(e) {
    this.setData({
      name: e.detail.value,
    });
  },

  // 获取性别
  getSex(e) {
    this.setData({
      sex: e.detail.value,
    });
  },

  // 获取学院
  getIns(e) {
    this.setData({
      ins: e.detail.value,
    });
  },

  // 获取学号
  getId(e) {
    this.setData({
      id: e.detail.value,
    });
  },

  // 提交保存信息
  submit() {
    const user = wx.getStorageSync('user2'); // 获取当前用户信息
    if (!user || !user._id) {
      wx.showToast({
        title: '用户未登录',
        icon: 'none',
      });
      return;
    }

    // 更新用户信息
    const updatedUser = {
      _id: user._id, // 用户 ID
      name: this.data.name,
      avatarUrl: this.data.avatarUrl,
      sex: this.data.sex,
      ins: this.data.ins,
    };

    // 调用后端接口更新用户信息
    wx.request({
      url: 'https://your-backend-domain.com/api/updateUser', // 替换为你的后端接口地址
      method: 'POST',
      data: updatedUser,
      success: (res) => {
        if (res.statusCode === 200 && res.data.code === 200) {
          console.log('用户信息更新成功', res);
          wx.showToast({
            title: '保存成功',
            icon: 'success',
          });

          // 更新本地缓存
          wx.setStorageSync('user2', { ...user, ...updatedUser });

          // 返回上一页
          wx.navigateBack();
        } else {
          wx.showToast({
            title: res.data.message || '保存失败',
            icon: 'none',
          });
        }
      },
      fail: (err) => {
        console.error('保存失败', err);
        wx.showToast({
          title: '保存失败，请重试',
          icon: 'none',
        });
      },
    });
  },

  // 选择头像
  chooseAvatar() {
    wx.chooseMedia({
      count: 1, // 最多选择 1 张图片
      mediaType: ['image'], // 只允许选择图片
      sourceType: ['album', 'camera'], // 来源：相册和相机
      success: (res) => {
        // 获取临时文件路径
        const tempFilePath = res.tempFiles[0].tempFilePath;
        // 更新页面数据
        this.setData({
          avatarUrl: tempFilePath,
        });
        // 可选：立即保存到本地缓存
        this.saveAvatarToStorage();
      },
      fail: (err) => {
        console.error('选择图片失败：', err);
        wx.showToast({
          title: '选择图片失败',
          icon: 'none',
        });
      },
    });
  },

  // 保存头像到本地缓存
  saveAvatarToStorage() {
    const user = wx.getStorageSync('user2') || {};
    const updatedUser = {
      ...user,
      avatarUrl: this.data.avatarUrl,
    };
    wx.setStorageSync('user2', updatedUser);
  },

  // 生命周期函数--监听页面显示
  onShow() {
    // 如果本地存储中有用户数据，加载并显示
    const userInfo = wx.getStorageSync('user2');
    if (userInfo) {
      this.setData({
        name: userInfo.name,
        avatarUrl: userInfo.avatarUrl,
        sex: userInfo.sex,
        ins: userInfo.ins,
        id: userInfo._id,
      });
    }
  },
});